1. Field of the Invention
The present invention relates to a method and device for database management. Particularly, the present invention relates to a method and device for establishing synchronized recovery log points in a plurality of databases in multiple separate database management systems.
2. Description of the Related Art
From U.S. Pat. No. 5,778,388 by Nobuo Kawamura et. al, assigned to Hitachi, Ltd., filed Sep. 15, 1995, issued Jul. 7, 1998, “Method of Processing a Synchronization Point in a Database Management System to Assure a Database Version Using Update Logs From Accumulated Transactions” a database management system is known for performing a plurality of transactions concurrently, in which a restart recovery process is assumed at an occurrence of a system failure, a method for acquiring a synchronization point (syncpoint) for assuring a database version on an external storage, said syncpoint being determined at each interval at which database update logs from the transactions are accumulated (incremented) to a given amount. The suggested method starts with assigning, at the beginning of acquisition of a syncpoint, a mark indicating that syncpoint acquisition is in progress, the tables controlling all updated pages in a buffer pool mapped onto a main storage, said buffer pool including a plurality of buffers for storing respective pages, said updated pages not having been written into a database of an external storage. Then, during the syncpoint acquisition, the updated pages for the marked table are written to the database of the external storage. Subsequently, a transaction is executed for further updating specific ones of the updated pages for the marked tables during the syncpoint acquisition process, before the updated page or pages are accessed, writing the further updated specific page or pages to said database, removing the mark from the control table for the further updated specific pages to allow a request of access to the further updated specific pages, and, finally, in response to termination of the write operation to said database, it is determined that the syncpoint acquisition is completed at the end of the write operation for all updated pages for the marked tables.
Kawamura describes a method for establishing a syncpoint for multiple transactions within a single database. However, customer business applications system landscapes often consist of multiple components running on different hardware and software. As these components exchange data and interact with each other the entire system needs to be considered as a single unit of semantical integrity.
In other words, the data must be consistent not only within each individual application component (intra-component consistency), but across the system as well (inter-component consistency). Typical example of such a system landscape is e-business applications such as CRM (Customers Relations Management) and SCM (Supply Chain Management), which are building on top of the existing ERP (Enterprise Resource Planning) or legacy applications and tightly integrated with them.
In order to ensure inter- and intra-components consistency, the applications most often rely on two well-known technologies. The intra-component consistency is achieved by deploying a DBMS (Data Base Management System), which includes necessary mechanisms such as maintaining recovery log and concurrency control. The inter-component consistency is typically maintained by implementing the DBMS two-phase commit feature or by using programming techniques that implement a so-called ‘store and forward’ protocol.
In the case of system or component failure that requires a recovery to currency (such as media failure), a coordinated recovery of each affected component will bring the entire system to a consistent state. However, this procedure cannot be used if the system needs to be recovered to any point in time in the past. Namely, there is not a common database log for all the participating components and synchronization points must be established by some administrative operation. One way of doing it, is to stop (quiesce) update processing for all the components, register that time or associated recovery log point and use it as a target in subsequent recovery.
The recovery target point established in this way is indeed a point at which the intra- and inter-component consistency is guaranteed, but the process of obtaining these points is prohibitively disruptive for normal functioning of the system, complex and error prone in terms of human interaction, and poses a major hurdle in achieving a high level of continuous operations which is an important requirement of the business critical applications.